import axios from 'axios'
import { loginreq, req, reqget } from './axiosFun'

// 登录接口
export const login = (params) => { return loginreq('post', '/api/login', params) }
// 获取用户菜单
export const menu = (params) => { return axios.get('/api/menu?&token=' + localStorage.getItem('logintoken')).then(res => res.data) }
// 退出接口
export const loginout = () => { return axios.delete('/api/login?&token=' + localStorage.getItem('logintoken')).then(res => res.data) }

/**
 * 菜单管理
 **/
// 菜单管理-获取菜单list分层级
export const listMenu = (params) => { return reqget('get', '/system/menu/list', params) }
// 菜单管理-获取菜单list
export const listMenuAll = (params) => { return reqget('get', '/system/menu/listAll', params) }
// 菜单管理-根据菜单获取数据
export const getMenu = (params) => { return axios.get('/system/menu/id/' + params) }
// 菜单管理-新增菜单
export const addMenu = (params) => { return req('post', '/system/menu/add', params) }
// 菜单管理-修改菜单
export const updateMenu = (params) => { return req('put', '/system/menu/up', params) }
// 菜单管理-删除菜单
export const delMenu = (params) => { return axios.delete('/system/menu/del/' + params).then(res => res.data) }

/**
 * 菜单管理
 **/
// 菜单管理-获取菜单list
export const listDict = (params) => { return reqget('get', '/system/dict/list', params) }
// 菜单管理-新增菜单
export const addDict = (params) => { return req('post', '/system/dict/add', params) }
// 菜单管理-修改菜单
export const updateDict = (params) => { return req('put', '/system/dict/edit', params) }
// 菜单管理-删除菜单
export const delDict = (params) => { return axios.delete('/system/dict/remov/' + params).then(res => res.data) }

/**
 * 部门管理
 **/
// 部门管理-获取部门列表
export const deptList = (params) => { return reqget('get', '/system/allSysDepts', params) }
// 部门管理-添加部门
export const deptSave = (params) => { return req('post', '/system/addDept', params) }
// 部门管理-编辑部门
export const updateDept = (params) => { return req('put', '/system/updateDept', params) }
// 部门管理-删除部门
export const deleteDept = (params) => { return axios.delete('/system/delDept/' + params).then(res => res.data) }
// 部门管理-查询所有部门名称
export const getDeptlist = () => { return axios.get('/system/allDepts').then(res => res.data) }

/**
 * 角色管理
 **/
// 角色管理-获取角色列表
export const roleList = (params) => { return reqget('get', '/system/selectAllRoles', params) }
// 角色管理-添加角色
export const roleSave = (params) => { return req('post', '/system/addRole', params) }
// 角色管理-编辑权限
export const updateAuthority = (params) => { return req('put', '/system/updateAuthority', params) }
// 角色管理-编辑角色
export const updateRole = (params) => { return req('put', '/system/updateRole', params) }
// 角色管理-删除角色
export const deleteRole = (params) => { return axios.delete('/system/deleteRole/' + params).then(res => res.data) }
// 角色管理-查询所有角色名称
export const getRolelist = () => { return axios.get('/system/selectRolelist').then(res => res.data) }

/**
 * 用户管理
 **/
// 用户管理-获取用户列表
export const userList = (params) => { return reqget('get', '/system/selectAllSysUser', params) }
// 用户管理-添加用户
export const userSave = (params) => { return req('post', '/system/addSysUser', params) }
// 用户管理-编辑用户
export const updateUser = (params) => { return req('put', '/system/updateUser', params) }
// 用户管理-删除用户
export const deleteUser = (params) => { return axios.delete('/system/delSysUser/' + params).then(res => res.data) }
// 用户管理-重置密码
export const userPwd = (params) => { return reqget('get', '/system/userPwd', params) }

/**
 * 接口管理
 **/
// 接口管理-获取接口列表
export const interfaceList = (params) => { return reqget('get', '/interface/selectAllInterface', params) }
// 接口管理-添加接口
export const interfaceSave = (params) => { return req('post', '/interface/addInterface', params) }
// 接口管理-编辑接口
export const updateinterface = (params) => { return req('put', '/interface/updateInterface', params) }
// 接口管理-删除接口
export const deleteinterface = (params) => { return axios.delete('/interface/deleteInterface/' + params).then(res => res.data) }

/**
 * 执行接口测试
 */
// 手动执行单条接口
export const testBase = (params) => { return req('post', '/testBase/executeTest', params) }

/**
 * 服务器地址管理
 */
// 接口管理-获取服务器列表
export const sServerList = (params) => { return reqget('get', '/server/selectAllSServer', params) }
// 接口管理-添加服务器地址
export const sServerSave = (params) => { return req('post', '/server/addSServer', params) }
// 接口管理-编辑服务器地址
export const updateSServer = (params) => { return req('put', '/server/updateSServer', params) }
// 接口管理-删除服务器地址
export const deleteSServer = (params) => { return axios.delete('/server/deleteSServer/' + params).then(res => res.data) }
// 接口管理-选用服务器地址
export const updateUuse = (params) => { return axios.get('/server/updateByUuse/' + params).then(res => res.data) }
